Skip to content

infra: CLAUDE.md/AGENTS.md standardization tooling + drift checks (Mind) - #62

Merged
Jammy2211 merged 6 commits into
mainfrom
claude/agents-md-standardization-ye6ig6
Jul 12, 2026
Merged

infra: CLAUDE.md/AGENTS.md standardization tooling + drift checks (Mind)#62
Jammy2211 merged 6 commits into
mainfrom
claude/agents-md-standardization-ye6ig6

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

The PyAutoMind half of the ecosystem AGENTS.md/CLAUDE.md/command-surface standardization (epic: z_features/agents_md_standardization.md).

What changed

  • scripts/repos_sync.py
    • check_claude_md_pointers + the canonical content-free CLAUDE.md pointer, a --write sweep (write_claude_md_pointers), and a report of checked-out repos with no AGENTS.md (reported for a human, never auto-stubbed). Idempotent; skips absent repos so it runs in a partial/web checkout.
    • check_map_blocks (+ an extract_block helper): the organism-map block was generated by --write but never verified by --check, so a hand-edit or a stale copy could drift silently. --check now recomputes system_map() and fails on divergence — mirroring how the command surface is guarded by install.sh --check-agents-surface.
  • AGENTS.md — removed the organism-map and command-surface blocks. They are not duplicated per-organ: PyAutoBrain is loaded in every session, so its auto-loaded AGENTS.md carries both shared blocks into context everywhere (one canonical copy). Mind keeps its own CLAUDE.md → @AGENTS.md pointer.
  • repos.yaml — added autofit_assistant (it existed in the org but was absent from the body map; its assistant siblings were present), so the drift checks now cover it.
  • z_features/ epic + the two maintenance/ specs — marked complete with the outcome recorded (Brain-only design + the full compliance sweep).

Design note

The epic originally assumed each organ embeds its own shared blocks (single-repo web sessions load only the open repo). That was corrected mid-flight: PyAutoBrain is guaranteed loaded in every web/mobile session, so the shared blocks live once in Brain and reach everywhere — no duplication, no cross-organ drift surface. See the companion PyAutoBrain PR.

🤖 Generated with Claude Code


Generated by Claude Code

claude added 6 commits July 12, 2026 16:43
…(Mind)

Spec 1 (claude_md_standardization) + spec 2 client, agent-agnostic layer:

- repos_sync.py: add check_claude_md_pointers + the canonical content-free
  CLAUDE.md pointer, wire a --write sweep (write_claude_md_pointers) and the
  --check drift check, and report checked-out repos that have no AGENTS.md
  (reported for a human, never auto-stubbed). Idempotent; skips absent repos so
  it runs in a partial/web checkout.
- AGENTS.md: add the generated command-surface block (markers filled by
  PyAutoBrain/bin/install.sh --write-agents-surface) so Mind carries the verb
  index it previously lacked.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KUGujq6jAgU3CExnLkkELe
…NTS.md

The organism-map block is duplicated into every organ's AGENTS.md by design
(a web/single-repo session loads only that repo's committed files, so the map
must live there, not behind a cross-repo link). That duplication was written by
--write but never verified by --check, so a hand-edit — or a repos.yaml change
without a --write — could let the copies drift silently.

Add check_map_blocks (+ an extract_block helper) so --check verifies each
organ's map block still equals system_map(), mirroring how the command surface
is guarded by install.sh --check-agents-surface. Reported as drift; fails CI.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KUGujq6jAgU3CExnLkkELe
…from Mind

PyAutoBrain is guaranteed loaded in every session (web, mobile/code, and local),
so its auto-loaded AGENTS.md already carries the organism-map and command-surface
blocks into every session's context. Duplicating them into Mind's AGENTS.md added
no availability and a second copy to keep in sync, so remove both from Mind; the
canonical single home is PyAutoBrain/AGENTS.md.

Kept: Mind's own CLAUDE.md → @AGENTS.md pointer, and the generators + drift checks
(they now guard Brain's single copy against repos.yaml and the bin/pyauto-brain
registry; the marker opt-in means they simply target Brain).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KUGujq6jAgU3CExnLkkELe
…s loaded)

The map block is no longer duplicated across organs; it lives in PyAutoBrain,
which is loaded in every session. Update check_map_blocks's rationale comment to
match — the check still guards any present copy against system_map()/repos.yaml.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KUGujq6jAgU3CExnLkkELe
…_assistant to body map

- repos.yaml: add autofit_assistant (assistant) — it existed in the org but was
  missing from the body map, so the drift checks didn't cover it (its siblings
  autolens_assistant/euclid_assistant were present). Already pointer-compliant.
- z_features epic + the two maintenance specs: mark complete and record the
  outcome — the Brain-only design (shared blocks live once in PyAutoBrain, which
  is loaded in every session; not duplicated per-organ) and the compliance sweep
  (organs done: Heart#67/Build#147/Memory#21 merged; 17 non-organ repos already
  compliant; 3 AGENTS-less reported; 3 Jammy2211 unreachable).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KUGujq6jAgU3CExnLkkELe
…my2211 repos

The standardization epic couldn't reach Jammy2211/autofit_workspace_developer,
Jammy2211/euclid_assistant, Jammy2211/admin_jammy (cross-tier add_repo blocked —
session was pyautolabs-owned). File the reachability tail as a maintenance prompt
so it isn't lost; it needs a session rooted on a Jammy2211 repo.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KUGujq6jAgU3CExnLkkELe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants